System and Method for Extending System Uptime while Running on Backup Power through Power Capping

ABSTRACT

A server chassis includes an uninterruptible power supply, and a server including a controller. The uninterruptible power supply is configured to provide a reserve power when a primary power is lost, and to send a power loss signal when the primary power is lost. The controller is configured to receive a desired server uptime, to receive an indication that a power limit for the server is fixed or decreasing over the desired server, to receive the power loss signal from the uninterruptible power supply, to send a power capacity query to the uninterruptible power supply, to receive a reserve power capacity of the uninterruptible power supply in response to the power capacity query, to calculate the power limit for the server based on the reserve power capacity of the uninterruptible power supply and on the desired server uptime, and to enforce the power limit on the server.

FIELD OF THE DISCLOSURE

This disclosure generally relates to information handling systems, andmore particularly relates to a system and method extending system uptimewhile running on backup power.

BACKGROUND

As the value and use of information continues to increase, individualsand businesses seek additional ways to process and store information.One option is an information handling system. An information handlingsystem generally processes, compiles, stores, and/or communicatesinformation or data for business, personal, or other purposes. Becausetechnology and information handling needs and requirements can varybetween different applications, information handling systems can alsovary regarding what information is handled, how the information ishandled, how much information is processed, stored, or communicated, andhow quickly and efficiently the information can be processed, stored, orcommunicated. The variations in information handling systems allow forinformation handling systems to be general or configured for a specificuser or specific use such as financial transaction processing, airlinereservations, enterprise data storage, or global communications. Inaddition, information handling systems can include a variety of hardwareand software components that can be configured to process, store, andcommunicate information and can include one or more computer systems,data storage systems, and networking systems.

An information handling system, such as a server, can include anuninterruptible power supply (UPS) to store backup power for the serverif the server loses alternating current (AC) power or Direct Current(DC) power. The length of time that the server can operate on the backuppower from the UPS depends on a power storage capacity of the UPS.

BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration,elements illustrated in the Figures have not necessarily been drawn toscale. For example, the dimensions of some of the elements areexaggerated relative to other elements. Embodiments incorporatingteachings of the present disclosure are shown and described with respectto the drawings presented herein, in which:

FIG. 1 is a block diagram of a server rack chassis;

FIG. 2 is a block diagram of a blade server chassis;

FIG. 3 is a waveform of power provided to a server;

FIG. 4 is an alternate waveform of power provided to the server;

FIG. 5 is a flow diagram of a method for extending an uptime of theserver running on backup power;

FIG. 6 is a flow diagram of an alternative method for extending theuptime of the server running on the backup power; and

FIG. 7 is a block diagram of a general information handling system.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DETAILED DESCRIPTION OF DRAWINGS

The following description in combination with the Figures is provided toassist in understanding the teachings disclosed herein. The followingdiscussion will focus on specific implementations and embodiments of theteachings. This focus is provided to assist in describing the teachingsand should not be interpreted as a limitation on the scope orapplicability of the teachings. However, other teachings can certainlybe utilized in this application.

FIG. 1 shows a server rack chassis 100 of information handling system.For purposes of this disclosure, the information handling system mayinclude any instrumentality or aggregate of instrumentalities operableto compute, classify, process, transmit, receive, retrieve, originate,switch, store, display, manifest, detect, record, reproduce, handle, orutilize any form of information, intelligence, or data for business,scientific, control, entertainment, or other purposes. For example, aninformation handling system may be a personal computer, a PDA, aconsumer electronic device, a network server or storage device, a switchrouter or other network communication device, or any other suitabledevice and may vary in size, shape, performance, functionality, andprice. The information handling system may include memory, one or moreprocessing resources such as a central processing unit (CPU) or hardwareor software control logic. Additional components of the informationhandling system may include one or more storage devices, one or morecommunications ports for communicating with external devices as well asvarious input and output (I/O) devices, such as a keyboard, a mouse, anda video display. The information handling system may also include one ormore buses operable to transmit communications between the varioushardware components.

The server rack chassis 100 includes servers 102, 104, and 106, anduninterruptible power supplies (UPSs) 108. Each of the servers 102, 104,and 106 can include a controller 110, which each are in communicationwith the UPSs 108. In an embodiment, both of the UPSs 108 can combine toprovide backup power to the servers 102, 104, and 106. In anotherembodiment, one of the UPSs 108 can provide primary backup power to theservers 102, 104, and 106, and the other UPS can be a reserve UPS toprovide power to the servers only if the primary UPS fails. Each of thecontrollers 110 can be any type of controller, such as an integratedDell Remote Access Controller (iDRAC), which is an interface card thatcan provide out-of-band management between the server 102, 104, or 106and a remote user. The controllers 110 can each have a processor, amemory, a battery, a network connection, and access to a server chassisbus. The controller 110 can provide different functions for the server102, 104, or 106, such as power management, virtual media access, andremote console capabilities. The power management, the virtual mediaaccess, and the remote console capabilities can all be available to theremote user through a graphical user interface (GUI) on a web browser.Thus, the remote user can configure the servers 102, 104, and 106 of theserver rack chassis 100, as if the remote user was at the local console.

A user, either remote or local to the server rack chassis 100, canaccess the controller 110 of each of the servers 102, 104, and 106 viathe GUI to configure power settings for the servers in situations whenAC power or DC power is lost to the server rack chassis 100. Forexample, the user can set a desired uptime for each individual server, apercentage of power available from the UPS allocated to each server,whether a power limit or cap for the servers is fixed over the desireduptime as shown by waveform 302 of FIG. 3, whether the power limit forthe servers decreases over the desired uptime as shown by waveform 402of FIG. 4, or the like.

When the AC power is lost, the UPS 108 can send a power lossnotification signal to each of the controllers 110 of the servers 102,104, and 106. The power loss notification signal can be any type ofcommunication signal, such as a simple network management protocol(SNMP) signal or trap, or the like. When the controller 110 receives thepower loss notification signal, the controller can send a reserve powerquery to the UPS 108 to request a reserve power capacity of the UPS.After receiving the reserve power capacity of the UPS 108, thecontroller 110 can compute the power limit for the server 102 based onthe reserve power capacity, on whether the power limit is fixed ordecreasing, on the percentage of the reserve power capacity allocated tothe server, and on desired uptime for the server. The power limit can bea maximum amount of power that the server 102 is allowed to use duringgiven time period.

After setting the power limit, the controller 110 can communicate with ahost processor of the server 102, and cut back the host processor toenforce the power limit in the server. The host processor can thendisable particular components in the server 102 so that the server canoperate at the power limit determined by the controller 110. Thecontroller 110 can dynamically adjust the power limit for the server atfixed intervals over the desired uptime for the server 102. For example,the controller 110 can poll the UPS 108 at the fixed intervals toreceive a current reserve power capacity of the UPS. When the controller110 has received the current reserve power capacity, the controller cancalculate and set a new power limit for the server 102. If the currentreserve power capacity of the UPS 108 is higher than expected becausethe servers 102, 104, and 106 did not use all of the allocated power fora given time period, the new power limit for the server 102 can higherthan the original power limit. The controller 110 can continue tore-poll the UPS 108 at the fixed intervals to receive the currentreserve power capacity of the UPS, and can re-calculate and set the newpower limit for the server based on the current reserve power capacityuntil the AC power is restored to the server rack chassis 100.

In another embodiment, the controllers 110 can communicate with eachother to further adjust the power limits for the servers 102, 104, and106. For example, the controller 110 of server 102 can communicate withthe controller of server 104, and determine that server 104 is operatingbelow an expected capacity and that server 102 is operating above anexpected capacity. In this situation, the controller 110 of server 102can decrease the percentage of the current reserve power capacity of theUPS 108 allocated to server 102, and the controller of server 104 canincrease the percentage of the current reserve power capacity allocatedto server 104. Thus, the new power limit for the server 102 candecrease, and the new power limit for the server 104 can increase.

FIG. 2 shows a blade server chassis 200 including servers 202, 204, and206, an UPS 208, and a chassis management controller (CMC) 212. Each ofthe servers 202, 204, and 206 can include a controller 210, which eachare in communication with the UPS 208 and with the CMC 212. The UPS 208is in communication with the CMC 212.

The user can access the CMC 212 via a GUI to configure power settingsfor the servers 202, 204, and 206 when the AC power is lost to the bladeserver chassis 200. For example, the user can set in the CMC 212 adesired uptime for each of the servers 202, 204, and 206, a percentageof power available from the UPS allocated to each server, whether apower limit for the servers is fixed over the desired uptime, whetherthe power limit for the servers decreases over the desired uptime, orthe like.

When the AC power is lost, the UPS 208 can send the power lossnotification signal to the CMC 212, which in response can send thereserve power query to the UPS 208 to request the reserve power capacityof the UPS. After receiving the reserve power capacity of the UPS 208,the CMC 212 can compute the power limit for each of the servers 202,204, and 206 based on the reserve power capacity, on whether the powerlimit is fixed or decreasing, on the percentage of the reserve powercapacity allocated to each server, and on desired uptime for theservers.

The CMC 212 can also determine to shut down one of the servers 202, 204,and 206, to prevent any server that is not currently powered on frompowering on, or the like based on the reserve power capacity of the UPS208. If the CMC 212 determines that server 202 needs to be powered down,the CMC can send a power down signal to the controller 210 of the server202. Similarly, if the CMC 212 determines that server 204 should not bepowered on, the CMC can send a do not power on signal to or reject apower on request from the controller 210 of the server 204. The CMC 212can send the power limit for each of the servers 202, 204, and 206 tothe controller 210 of the respective server.

When the controller 210 of each of the servers 202, 204, and 206 hasreceived the power limit for the server, the controller can enforce thepower limit via the host processor of the server. For example, thecontroller 210 can communicate with the host processor of the server202, and cut back the host processor to enforce the power limit in theserver. The host processor can then disable particular components in theserver so that the server can operate at the power limit determined bythe CMC 212.

The CMC 212 can also dynamically adjust the power limit for each of theserver 202, 204, and 206 over the desired uptime for the blade serverchassis 200. For example, the CMC 212 can poll the UPS 208 at fixedintervals to receive the current reserve power capacity of the UPS. Whenthe CMC 212 has received the current reserve power capacity, thecontroller can calculate and set the new power limit for each of theservers 202, 204, and 206. If the current reserve power capacity of theUPS 208 is higher than expected because the servers 202, 204, and 206did not use all of the allocated power for a given time period, the newpower limit for each of the servers can be higher than the originalpower limit. The CMC 212 can continue to re-poll the UPS 208 at thefixed intervals to receive the current reserve power capacity of theUPS, and can re-calculate and set the new power limit for each of theservers 202, 204, and 206 based on the current reserve power capacityuntil the AC power is restored to the blade server chassis 200.

FIG. 5 shows a method 500 for extending an uptime of the server runningon backup power. At block 502, a desired server uptime is received at acontroller of a server. The desired server uptime can be received from auser via a GUI. An indication of whether a power limit for the server isto be fixed or decreasing over the desired server uptime is received atthe controller at block 504. At block 506, a power loss signal isreceived from a UPS indicating that a primary power has been lost. Theprimary power can be AC power or DC power. A power capacity query issent from the controller to the UPS at block 508.

At block 510, a reserve power capacity of the UPS is received at thecontroller. The power limit for the server is calculated based on thereserve power capacity of the UPS and on the desired server uptime atblock 512. At block 514, the power limit of the server is enforced bythe controller. The power limit can be enforced by the controllerreducing the power consumption of the host processor, memory, and othercomponents, or even shutting down unused components like redundantnetwork adapters. At block 516, a determination is made whether theprimary power has been restored. If the primary power has not beenrestored, the flow repeats as stated above at block 508. If the primarypower has been restored, the power limit for the server is cleared atblock 518.

FIG. 6 shows an alternative method 600 for extending an uptime of theserver running on backup power. At block 602, a desired system uptime isreceived at a CMC of a blade server chassis. The desired system uptimecan be received from a user via a GUI. An indication of whether a powerlimit for a server is to be fixed or decreasing over the desired systemuptime is received at the CMC at block 604. At block 606, a power losssignal is received at the CMC from a UPS indicating that primary powerhas been lost. The primary power can be AC power or DC power. A powercapacity query is sent from the CMC to the UPS at block 608.

At block 610, a reserve power capacity of the UPS is received at theCMC. The power limit for the server is calculated based on the reservepower capacity of the UPS and on the desired system uptime at block 612.At block 614, the power limit for the server is sent to a controller ofthe server. At block 616, the power limit on the server is enforced bythe controller. The power limit can be enforced by the controller byreducing the power consumption of the host processor, memory, and othercomponents, or even shutting down unused components like redundantnetwork adapters. At block 618, a determination is made whether theprimary power has been restored. If the primary power has not beenrestored, the flow repeats as stated above at block 608. If the primarypower has been restored, the power limit for the server is cleared atblock 620.

FIG. 7 illustrates a block diagram of a general information handlingsystem, generally designated at 700. In one form, the informationhandling system 700 can be a computer system such as a server. As shownin FIG. 7, the information handling system 700 can include a firstphysical processor 702 coupled to a first host bus 704 and can furtherinclude additional processors generally designated as n^(th) physicalprocessor 706 coupled to a second host bus 708. The first physicalprocessor 702 can be coupled to a chipset 710 via the first host bus704. Further, the n^(th) physical processor 706 can be coupled to thechipset 710 via the second host bus 708. The chipset 710 can supportmultiple processors and can allow for simultaneous processing ofmultiple processors and support the exchange of information withininformation handling system 700 during multiple processing operations.

According to one aspect, the chipset 710 can be referred to as a memoryhub or a memory controller. For example, the chipset 710 can include anAccelerated Hub Architecture (AHA) that uses a dedicated bus to transferdata between first physical processor 702 and the n^(th) physicalprocessor 706. For example, the chipset 710, including an AHAenabled-chipset, can include a memory controller hub and an input/output(I/O) controller hub. As a memory controller hub, the chipset 710 canfunction to provide access to first physical processor 702 using firstbus 704 and n^(th) physical processor 706 using the second host bus 708.The chipset 710 can also provide a memory interface for accessing memory712 using a memory bus 714. In a particular embodiment, the buses 704,708, and 714 can be individual buses or part of the same bus. Thechipset 710 can also provide bus control and can handle transfersbetween the buses 704, 708, and 714.

According to another aspect, the chipset 710 can be generally consideredan application specific chipset that provides connectivity to variousbuses, and integrates other system functions. For example, the chipset710 can be provided using an Intel® Hub Architecture (IHA) chipset thatcan also include two parts, a Graphics and AGP Memory Controller Hub(GMCH) and an I/O Controller Hub (ICH). For example, an Intel 820E, an815E chipset, or any combination thereof, available from the IntelCorporation of Santa Clara, Calif., can provide at least a portion ofthe chipset 710. The chipset 710 can also be packaged as an applicationspecific integrated circuit (ASIC).

The information handling system 700 can also include a video graphicsinterface 722 that can be coupled to the chipset 710 using a third hostbus 724. In one form, the video graphics interface 722 can be anAccelerated Graphics Port (AGP) interface to display content within avideo display unit 726. Other graphics interfaces may also be used. Thevideo graphics interface 722 can provide a video display output 728 tothe video display unit 726. The video display unit 726 can include oneor more types of video displays such as a flat panel display (FPD) orother type of display device.

The information handling system 700 can also include an I/O interface730 that can be connected via an I/O bus 720 to the chipset 710. The I/Ointerface 730 and I/O bus 720 can include industry standard buses orproprietary buses and respective interfaces or controllers. For example,the I/O bus 720 can also include a Peripheral Component Interconnect(PCI) bus or a high speed PCI-Express bus. In one embodiment, a PCI buscan be operated at approximately 76 MHz and a PCI-Express bus can beoperated at approximately 728 MHz. PCI buses and PCI-Express buses canbe provided to comply with industry standards for connecting andcommunicating between various PCI-enabled hardware devices. Other busescan also be provided in association with, or independent of, the I/O bus720 including, but not limited to, industry standard buses orproprietary buses, such as Industry Standard Architecture (ISA), SmallComputer Serial Interface (SCSI), Inter-Integrated Circuit (I²C), SystemPacket Interface (SPI), or Universal Serial buses (USBs).

In an alternate embodiment, the chipset 710 can be a chipset employing aNorthbridge/Southbridge chipset configuration (not illustrated). Forexample, a Northbridge portion of the chipset 710 can communicate withthe first physical processor 702 and can control interaction with thememory 712, the I/O bus 720 that can be operable as a PCI bus, andactivities for the video graphics interface 722. The Northbridge portioncan also communicate with the first physical processor 702 using firstbus 704 and the second bus 708 coupled to the n^(th) physical processor706. The chipset 710 can also include a Southbridge portion (notillustrated) of the chipset 710 and can handle I/O functions of thechipset 710. The Southbridge portion can manage the basic forms of I/Osuch as Universal Serial Bus (USB), serial I/O, audio outputs,Integrated Drive Electronics (IDE), and ISA I/O for the informationhandling system 700.

The information handling system 700 can further include a diskcontroller 732 coupled to the I/O bus 720, and connecting one or moreinternal disk drives such as a hard disk drive (HDD) 734 and an opticaldisk drive (ODD) 736 such as a Read/Write Compact Disk (R/W CD), aRead/Write Digital Video Disk (R/W DVD), a Read/Write mini-Digital VideoDisk (R/W mini-DVD), or other type of optical disk drive.

Although only a few exemplary embodiments have been described in detailabove, those skilled in the art will readily appreciate that manymodifications are possible in the exemplary embodiments withoutmaterially departing from the novel teachings and advantages of theembodiments of the present disclosure. Accordingly, all suchmodifications are intended to be included within the scope of theembodiments of the present disclosure as defined in the followingclaims. In the claims, means-plus-function clauses are intended to coverthe structures described herein as performing the recited function andnot only structural equivalents, but also equivalent structures.

1. A server chassis comprising: an uninterruptible power supplyconfigured to provide a reserve power when a primary power is lost, andto send a power loss signal when the primary power is lost; and a serverincluding a controller in communication with the uninterruptible powersupply, the controller configured to receive a desired server uptime, toreceive an indication that a power limit for the server is fixed ordecreasing over the desired server uptime, to receive the power losssignal from the uninterruptible power supply, to send a power capacityquery to the uninterruptible power supply, to receive a reserve powercapacity of the uninterruptible power supply in response to the powercapacity query, to calculate the power limit for the server based on thereserve power capacity of the uninterruptible power supply and on thedesired server uptime, and to enforce the power limit on the server. 2.The server chassis of claim 1 further comprising: a chassis managementcontroller in communication with the uninterruptible power supply andthe controller of the server, the chassis management controllerconfigured to calculate the power limit of the server, and to send topower limit to the controller of the server.
 3. The server chassis ofclaim 1 wherein the controller is further configured to determining whenthe primary power has not been restored, to send the power capacityquery from the controller to the uninterruptible power supply, toreceive a current reserve power capacity of the uninterruptible powersupply at the controller, to calculate a new power limit for the serverbased on the current reserve power capacity of the uninterruptible powersupply and on the desired server uptime, and to enforce the new powerlimit on the server.
 4. The server chassis of claim 3 wherein the newpower limit is enforced by the controller reducing the power consumptionof the host processor, memory, and other components, or even shuttingdown unused components like redundant network adapters.
 5. The serverchassis of claim 1 wherein the controller is further configured todetermining when the primary power has been restored, and to clear thepower limit for the server in the controller when the primary power hasbeen restored.
 6. The server chassis of claim 1 wherein the desiredserver uptime is received from a user via a graphical user interface orCommand Line Interface (CLI).
 7. The server chassis of claim 1 whereinthe power limit is enforced by the controller cutting back a hostprocessor of the server, and the host processor shutting down differencecomponents of the server.
 8. A method comprising: receiving a desiredserver uptime at a controller of a server; receiving, at the controller,an indication that a power limit for the server is fixed or decreasingover the desired server uptime; receiving a power loss signal from anuninterruptible power supply indicating that a primary power has beenlost; sending a power capacity query from the controller to theuninterruptible power supply; receiving a reserve power capacity of theuninterruptible power supply at the controller; calculating the powerlimit for the server based on the reserve power capacity of theuninterruptible power supply and on the desired server uptime; andenforcing the power limit on the server.
 9. The method of claim 8further comprising: determining whether the primary power has beenrestored; if the primary power has not been restored: sending the powercapacity query from the controller to the uninterruptible power supply;receiving a current reserve power capacity of the uninterruptible powersupply at the controller; calculating a new power limit for the serverbased on the current reserve power capacity of the uninterruptible powersupply and on the desired server uptime; and enforcing the new powerlimit on the server.
 10. The method of claim 9 further comprising:clearing the power limit for the server in the controller when theprimary power has been restored.
 11. The method of claim 9 wherein thenew power limit is enforced by the controller cutting back a hostprocessor of the server, and the host processor shutting down differencecomponents of the server.
 12. The method of claim 8 wherein the desiredserver uptime is received from a user via a graphical user interface.13. The method of claim 8 wherein the power limit is enforced by thecontroller cutting back a host processor of the server, and the hostprocessor shutting down difference components of the server.
 14. Amethod comprising: receiving, at a chassis management controller of ablade server chassis, a desired system uptime; receiving, at the chassismanagement controller, an indication that a power limit for a server isfixed or decreasing over the desired server uptime; receiving, at thechassis management controller, a power loss signal indicating that aprimary power has been lost from an uninterruptible power supply;sending a power capacity query from the chassis management controller tothe uninterruptible power supply; receiving, at the chassis managementcontroller, a reserve power capacity of the uninterruptible powersupply; calculating, in the chassis management controller, the powerlimit for the server based on the reserve power capacity of theuninterruptible power supply and the desired system uptime; sending thepower limit for the server to a controller of the server; and enforcing,at the controller, the power limit on the server.
 15. The method ofclaim 14 further comprising: determining whether the primary power hasbeen restored; if the primary power has not been restored: sending thepower capacity query from the chassis management controller to theuninterruptible power supply; receiving, in the chassis managementcontroller, a current reserve power capacity of the uninterruptiblepower supply at the controller; calculating, in the chassis managementcontroller, a new power limit for the server based on the currentreserve power capacity of the uninterruptible power supply and on thedesired server uptime; sending the new power limit for the server fromthe chassis management controller to the controller of the server; andenforcing, in the controller, the new power limit for the server. 16.The method of claim 15 further comprising: clearing, in the chassismanagement controller, the power limit for the server in the controllerwhen the primary power has been restored.
 17. The method of claim 15wherein the new power limit is enforced by the controller cutting back ahost processor of the server, and the host processor shutting downdifference components of the server.
 18. The method of claim 14 whereinthe desired server uptime is received from a user via a graphical userinterface.
 19. The method of claim 14 wherein the desired server uptimeis received from a user via a command line interface.
 20. The method ofclaim 14 wherein the power limit is enforced by the controller cuttingback a host processor of the server, and the host processor shuttingdown difference components of the server.